//
//  CTVNavigationManager.h
//  Channltv
//
//  Created by Bruno Keymolen on 14/11/07.
//  Copyright 2007 channl.tv. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "CTVRootChannel.h"
#import "CTVChannel.h"
#import "CTVClip.h"

@class CTVNavigationManager;

@interface CTVNavigationManager : NSObject {
	CTVClip* m_currentClip;
	NSRecursiveLock* m_syncLock;
}

+(CTVNavigationManager*)GetInstance;
-(void)setEntryPoint:(CTVClip*)clip;
-(CTVClip*)currentClip;
-(CTVClip*)nextClip;
-(CTVClip*)prevClip;
-(CTVChannel*)nextChannel;
-(CTVChannel*)prevChannel;
-(CTVChannel*)getDistanceFromChannel:(CTVChannel*)channel distance:(signed int)dist;
-(CTVChannel*)currentChannel;

//Private
-(void)_init;
-(void)_setCurrentClip:(CTVClip*)clip;
-(void)__setCurrentClip:(CTVClip*)clip;


@end
